package ads.engenharia.ui.disciplina;

import java.util.ArrayList;

import javax.swing.table.AbstractTableModel;

import ads.engenharia.entity.Professor;

public class AssociarDisciplinaTableModel extends AbstractTableModel {

	/**
	 * 
	 */
	private static final long serialVersionUID = -1194899451693218687L;
	private ArrayList<Professor> professores = new ArrayList<Professor>();

	public AssociarDisciplinaTableModel() {

	}

	public AssociarDisciplinaTableModel(ArrayList<Professor> professores) {
		super();
		this.professores = professores;
	}

	@Override
	public int getColumnCount() {
		// TODO Auto-generated method stub
		return 1;
	}

	@Override
	public int getRowCount() {
		// TODO Auto-generated method stub
		return professores.size();
	}

	@Override
	public Object getValueAt(int row, int column) {
		Professor professor = this.professores.get(row);

		switch (column) {
		case 0:
			return professor == null ? "" : professor.name();

		}

		return null;
	}

	@Override
	public String getColumnName(int column) {
		switch (column) {
		case 0:
			return "Nome";
		}

		return "";
	}

	public ArrayList<Professor> getProfessores() {
		return professores;
	}

	public void setProfessores(ArrayList<Professor> professores) {
		this.professores = professores;
	}

	public void removeProfessor(Professor professor) {
		this.professores.remove(professor);
	}

	public void removeProfessor(int index) {
		this.professores.remove(index);
	}

	public void addProfessor(Professor professor) {
		this.professores.add(professor);
	}

	public Professor get(int row) {
		return this.professores.get(row);
	}

	public boolean uniqueProfessor() {
		if (professores.size() >= 1) {
			return true;

		} else if (professores.size() == 0) {
			return false;
		}

		return false;
	}

}
